package com.qfjy.chenruiming;

/**
 * @Author:Namu
 * @Date:2022/9/13 18:57
 * @Description:
 */
public class MementoPatternTest {
    public static void main(String[] args) {
//      创建备忘录
        CareTaker careTaker = new CareTaker();
//        进行操作
        Originator originator = new Originator();
//        进行操作1
        originator.setState("State #1");
//        进行操作2
        originator.setState("State #2");
//        保存0——操作2
        careTaker.add(originator.saveStateToMemento());
//        进行操作3
        originator.setState("State #3");
//        保存1——操作3
        careTaker.add(originator.saveStateToMemento());
//        进行操作4
        originator.setState("State #4");
//        返回现在的操作状态————"State #4"
        System.out.println("Current State: " + originator.getState());
//        返回第二次操作的状态（第一次保存时的状态）————"State #2"
        originator.getStateFromMemento(careTaker.get(0));
        System.out.println("First saved State: " + originator.getState());
//        返回第三次操作的状态（第二次保存时的状态）————"State #3"
        originator.getStateFromMemento(careTaker.get(1));
        System.out.println("Second saved State: " + originator.getState());
    }
}
